#include "SmallMario.h"

 void SmallMario::GotMushroom(IMario* mario)
 {
    mario->SetCoin(10);
    mario->SetState(&SuperMario::GetInstance());
    std::cout << "GotMushroom Become SuperMario" << std::endl;
}

 void SmallMario::GotFireFlower(IMario* mario)
 {
    mario->SetCoin(20);
    mario->SetState(&FireMario::GetInstance());
    std::cout << "GotFireFlower Become FireMario" << std::endl;
}

 void SmallMario::GotFeather(IMario* mario)
 {
     mario->SetCoin(30);
     mario->SetState(&CapeMario::GetInstance());
     std::cout << "GotFeather Become CapeMario" << std::endl;
 }

 void SmallMario::GotMonster(IMario* mario)
 {
     mario->SetCoin(-100);
     mario->GotDie();
 }

 void SmallMario::GotFall(IMario* mario)
 {
     mario->SetCoin(-100);
     mario->GotDie();
 }

 void SmallMario::GotCoin(IMario* mario)
 {
     mario->SetCoin(1);
 }


